www.gusucode.com > 小波分析理论与Matlab 7实现 > 小波分析理论与Matlab 7实现/code/Ch10/exam10_2.m
clc; clear; % 装载实际信号 load vonkoch vonkoch=vonkoch(1:510); lv = length(vonkoch); subplot(311), plot(vonkoch);title('被分析信号.'); set(gca,'Xlim',[0 510]) % 执行离散5层sym2小波变换 % 层数1~5分别对应尺度 2, 4, 8, 16 and 32 [c,l] = wavedec(vonkoch,5,'sym2'); % 扩展离散小波系数进行画图 % 层数1~5分别对应尺度 2, 4, 8, 16和32 cfd = zeros(5,lv); for k = 1:5 d = detcoef(c,l,k); d = d(ones(1,2^k),:); cfd(k,:) = wkeep(d(:)',lv); end cfd = cfd(:); I = find(abs(cfd)<sqrt(eps)); cfd(I)=zeros(size(I)); cfd = reshape(cfd,5,lv); % 画出离散系数 subplot(312), colormap(pink(64)); img = image(flipud(wcodemat(cfd,64,'row'))); set(get(img,'parent'),'YtickLabel',[]); title('离散变换, 系数绝对值.') ylabel('层数') % 执行连续小波sym2变换,尺度从1~32 subplot(313) ccfs = cwt(vonkoch,1:32,'sym2','plot'); title('连续变换, 系数绝对值.') colormap(pink(64)); ylabel('尺度')